home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / www / amitrix / httx17.lha / HTTX / HTTXPluginCFG.awebrx < prev    next >
Text File  |  1998-01-23  |  11KB  |  303 lines

  1. /*
  2.     HTTXPlugin Configuration
  3.     $VER: HTTXPluginCFG 2.1 (4.1.98) by Gabriele Favrin (favrin@tin.it)
  4.  
  5.     Based on HTTXConfig.awebrx by Amitrix
  6. */
  7.  
  8. options results
  9. options failat 999
  10.  
  11. 'AllowCMD'
  12. 'GetCFG TEMPPATH VAR' fname
  13. If (rc == 11) then do
  14.     address command 'C:RequestChoice >NIL: HTTXPlugin "Sorry, this plugin requires at least AWeb 3.1 !" "Ok"'
  15.     exit 20
  16. end
  17. else do
  18.     If Right(fname, 1) ~= "/" & Right(fname, 1) ~= ":" then do
  19.         fname=fname||"/HTTXconfig.html"
  20.     end
  21.     else do
  22.         fname=fname||"HTTXconfig.html"
  23.     end
  24. end
  25.  
  26. args = ""
  27.  
  28. parse ARG args
  29. parse SOURCE . . . resolved .
  30.  
  31. plugin_path = FindPath(resolved)
  32. save_len=77
  33. save_indent=3
  34. save_ansi=0
  35. save_7bit=0
  36. save_hrmode=1
  37. save_noalign=0
  38. save_filenote=0
  39. save_href=0
  40. save_img=0
  41. save_script=0
  42. save_badhtml=0
  43. print_len=77
  44. print_indent=3
  45. print_ansi=0
  46. print_7bit=0
  47. print_hrmode=1
  48. print_noalign=0
  49. print_href=0
  50. print_img=0
  51. print_script=0
  52. print_badhtml=0
  53.  
  54. prefs_info=0
  55. prefs_report=1
  56. prefs_preview=0
  57. prefs_savedir="ram:"
  58. prefs_print_noheader=0
  59. prefs_save_noheader=0
  60.  
  61. local_storagemode = "Use"
  62.  
  63. If args == "" then do
  64.     If Open(rcfg_fp, 'ENV:HTTXPlugin.config', 'R') then do
  65.         cfg=ReadLN(rcfg_fp)
  66.  
  67.         If Left(cfg, 6) == "prefs_" then do
  68.             interpret translate(strip(cfg), ';',' ')
  69.             prefs_savedir=Translate(prefs_savedir, ' ', ';')
  70.         End
  71.  
  72.         Call Close(rcfg_fp)
  73.     End
  74.  
  75.     If Open(save_config_fp, "ENV:HTTX.prefs", 'R') then do
  76.         save_config_string = Upper(ReadLN(save_config_fp))
  77.         Call Close(save_config_fp)
  78.  
  79.         If Pos('LEN=', save_config_string) > 0 then
  80.             parse VAR save_config_string 'LEN='save_len . 
  81.  
  82.         If Pos('INDENT=', save_config_string) > 0 then
  83.             parse VAR save_config_string 'INDENT='save_indent . 
  84.  
  85.         If Pos('HRMODE=', save_config_string) > 0 then
  86.             parse VAR save_config_string 'HRMODE='save_hrmode . 
  87.  
  88.         save_noalign = Pos('NOALIGN', save_config_string) > 0
  89.         save_ansi = Pos('ANSI', save_config_string) > 0
  90.         save_7bit = Pos('7BIT', save_config_string) > 0
  91.         save_filenote = Pos('FILENOTE', save_config_string) > 0
  92.         save_href = Pos('HREF', save_config_string) > 0
  93.         save_img = Pos('IMG', save_config_string) > 0
  94.         save_script = Pos('SCRIPT', save_config_string) > 0
  95.         save_badhtml = Pos('BADHTML', save_config_string) > 0
  96.     End
  97.  
  98.     If Open(print_config_fp, "ENV:HTTXprt.prefs", 'R') then do
  99.         print_config_string = ReadLN(print_config_fp)
  100.         Call Close(print_config_fp)
  101.  
  102.         If Pos('LEN=',print_config_string) > 0 then
  103.             parse VAR print_config_string 'LEN='print_len . 
  104.  
  105.         If Pos('INDENT=',print_config_string) > 0 then
  106.             parse VAR print_config_string 'INDENT='print_indent . 
  107.  
  108.         If Pos('HRMODE=',print_config_string) > 0 then
  109.             parse VAR print_config_string 'HRMODE='print_hrmode . 
  110.  
  111.         print_noalign = Pos('NOALIGN', print_config_string) > 0
  112.         print_ansi = Pos('ANSI', print_config_string) > 0
  113.         print_7bit = Pos('7BIT', print_config_string) > 0
  114.         print_href = Pos('HREF', print_config_string) > 0
  115.         print_img = Pos('IMG', print_config_string) > 0
  116.         print_script = Pos('SCRIPT', print_config_string) > 0
  117.         print_badhtml = Pos('BADHTML', print_config_string) > 0
  118.     End
  119.  
  120.     If Open(HTML_fp,fname, 'W') then do
  121.         html_save_hrmode.0 = ""; html_save_hrmode.1 = ""; html_save_hrmode.2 = ""
  122.         html_print_hrmode.0 = ""; html_print_hrmode.1 = ""; html_print_hrmode.2 = ""
  123.  
  124.         html='<html><head><title>HTTXPlugin - configuration</title></head><body><center id="httx"><form action="x-aweb:rexx/'||resolved||' "><a href="file:///'plugin_path'HTTXPlugin.doc.html">Help</a>   <a href="#plugin">Plugin related configuration</a><p><input type="submit" name="local_storagemode" value="Save">   <input type="submit" name="local_storagemode" value="Use">   <input type="reset" name="" value="Last saved"><h2>HTML Conversion related configuration</h2><table align="center" cellspacing=8><tr><th>Options Description<th>Save<th>Print'
  125.         html=html||'<tr><td>Default directory<td colspan=2 align="center"><input size=19 maxlength=18 name="prefs_savedir" value="'prefs_savedir'">'
  126.         html=html||'<tr><td>Line length (min 15, max 255)<td align="center"><input size=3 maxlength=3 name="save_len" value="'save_len'"><td align="center"><input size=3 maxlength=3 name="print_len" value="'print_len'">'
  127.         html=html||'<tr><td>Indentation<td align="center"><input size=2 maxlength=2 name="save_indent" value="'save_indent'"><td align=center><input size=2 maxlength=2 name="print_indent" value="'print_indent'">'
  128.  
  129.         Call html_radial('Ansi conversion of styles and links', 'save_ansi', 'print_ansi')
  130.         Call html_radial('Conversion of entities to 7 bit ascii', 'save_7bit', 'print_7bit')
  131.  
  132.         html=html||'<tr><td>HR draw mode<td align="center">'
  133.         html_save_hrmode.save_hrmode = " checked"
  134.         html_print_hrmode.print_hrmode = " checked"
  135.  
  136.         html=html||'OFF <input type=radio name="save_hrmode" value="0"'html_save_hrmode.0'>'
  137.         html=html||'   ASCII <input type=radio name="save_hrmode" value="1"'html_save_hrmode.1'>'
  138.         html=html||'   ANSI <input type=radio name="save_hrmode" value="2"'html_save_hrmode.2'>'
  139.         html=html||'<td align="center">OFF <input type=radio name="print_hrmode" value="0"'html_print_hrmode.0'>'
  140.         html=html||'   ASCII <input type=radio name="print_hrmode" value="1"'html_print_hrmode.1'>'
  141.         html=html||'   ANSI <input type=radio name="print_hrmode" value="2"'html_print_hrmode.2'>'
  142.  
  143.         Call html_radial('Ignore text and HR alignment', 'save_noalign', 'print_noalign')
  144.         Call html_radial_single('Save Title as FileNote', 'save_filenote')
  145.  
  146.         Call html_radial('Suppress Title/URL', 'prefs_save_noheader', 'prefs_print_noheader')
  147.         Call html_radial('Print HTML Link References', 'save_href', 'print_href')
  148.         Call html_radial('Print Image Alternate Texts', 'save_img', 'print_img')
  149.         Call html_radial('Print JavaScript scripts', 'save_script', 'print_script')
  150.         Call html_radial('Support badly written HTML', 'save_badhtml', 'print_badhtml')
  151.         html=html||'</table><hr width="15%"><br><a href="#httx">HTML Conversion related configuration</a><h2 align="center" id="plugin">Plugin related configuration</h2><table align="center" cellspacing=8><tr><th>Options Description<th>mode'
  152.  
  153.         Call html_radial_single('Print HTTP/META header', 'prefs_info')
  154.         Call html_radial_single('Show preview of converted document', 'prefs_preview')
  155.         Call html_radial_single("Show conversion report", 'prefs_report')
  156.         html=html||'</table><p><a href="file:///'plugin_path'HTTXPlugin.doc.html">Help</a>   <a href="#httx">HTML Conversion related configuration</a><p><input type="submit" name="local_storagemode" value="Save">   <input type="submit" name="local_storagemode" value="Use">   <input type="reset" name="" value="Last saved"></form><p><hr>HTTX by <a href="mailto:favrin@tin.it">Gabriele Favrin</a></center></body></html>'
  157.  
  158.         Call WriteCh(html_fp, html)
  159.         Call Close(html_fp)
  160.  
  161.         'Open file:///'fname 'RELOAD'
  162.         'Wait file:///'fname
  163.         address command 'C:Delete QUIET' fname
  164.     End
  165. End
  166. else do
  167.     interpret translate(strip(args),';',' ')
  168.  
  169.     save_config_string = 'LEN='save_len 'INDENT='save_indent 
  170.     print_config_string = 'LEN='print_len 'INDENT='print_indent
  171.  
  172.     If save_ansi then
  173.         save_config_string = save_config_string 'ANSI'
  174.  
  175.     If save_7bit then
  176.         save_config_string = save_config_string '7BIT'
  177.  
  178.     If save_hrmode ~= 1 then
  179.         save_config_string = save_config_string 'HRMODE='save_hrmode
  180.  
  181.     If save_noalign then
  182.         save_config_string = save_config_string 'NOALIGN'
  183.  
  184.     If save_filenote then
  185.         save_config_string = save_config_string 'FILENOTE'
  186.  
  187.     If save_href then
  188.         save_config_string = save_config_string 'HREF'
  189.  
  190.     If save_img then
  191.         save_config_string = save_config_string 'IMG'
  192.  
  193.     If save_script then
  194.         save_config_string = save_config_string 'SCRIPT'
  195.  
  196.     If save_badhtml then
  197.         save_config_string = save_config_string 'BADHTML'
  198.  
  199.     If print_ansi then
  200.         print_config_string = print_config_string 'ANSI'
  201.  
  202.     If print_7bit then
  203.         print_config_string = print_config_string '7BIT'
  204.  
  205.     If print_hrmode ~= 1 then
  206.         print_config_string = print_config_string 'HRMODE='print_hrmode
  207.  
  208.     If print_noalign then
  209.         print_config_string = print_config_string 'NOALIGN'
  210.  
  211.     If print_href then
  212.         print_config_string = print_config_string 'HREF'
  213.  
  214.     If print_img then
  215.         print_config_string = print_config_string 'IMG'
  216.  
  217.     If print_script then
  218.         print_config_string = print_config_string 'SCRIPT'
  219.  
  220.     If print_badhtml then
  221.         print_config_string = print_config_string 'BADHTML'
  222.  
  223.     If local_storagemode = "Save" then
  224.         Call do_save('ENVARC:')
  225.  
  226.     Call do_save('ENV:')
  227.     address command 'UnsetEnv HTTXPlugin.savedir'
  228. End
  229.  
  230. exit 0
  231.  
  232.  
  233. do_save:
  234.     parse ARG dest_dir
  235.  
  236.     If Open(save_config_fp, dest_dir||"HTTX.prefs", 'W') then do
  237.         Call WriteLN(save_config_fp, translate(save_config_string,,';'))
  238.         Call Close(save_config_fp)
  239.     End
  240.  
  241.     If Open(print_config_fp, dest_dir||"HTTXprt.prefs", 'W') then do
  242.         Call WriteLN(print_config_fp, translate(print_config_string,,';'))
  243.         Call Close(print_config_fp)
  244.     End
  245.  
  246.     prefs_savedir=Translate(prefs_savedir, ' ', ';')
  247.     last_char=right(prefs_savedir, 1)
  248.     if (last_char ~= ":") & (last_char ~= "/") then do
  249.         prefs_savedir=prefs_savedir"/"
  250.     end
  251.  
  252.     If Open(plugin_config_fp, dest_dir||"HTTXPlugin.config", 'W') then do
  253.         Call WriteLN(plugin_config_fp, 'prefs_info="'prefs_info'" prefs_preview="'prefs_preview'" prefs_report="'prefs_report'" prefs_savedir="'prefs_savedir'" prefs_save_noheader="'prefs_save_noheader'" prefs_print_noheader="'prefs_print_noheader'"')
  254.         Call Close(plugin_config_fp)
  255.     End
  256.     return
  257.  
  258.  
  259.  
  260. html_radial:
  261.     parse ARG text , variable_name , variable_name2
  262.  
  263.     html=html||'<tr><td>'text'<td align="center">'
  264.  
  265.     If value(variable_name) then do
  266.         html=html||'ON <input type=radio name="'||variable_name||'" value="1" checked>   OFF <input type=radio name="'||variable_name||'" value="0"><td align="center">'
  267.     End
  268.     else do
  269.         html=html||'ON <input type=radio name="'||variable_name||'" value="1">   OFF <input type=radio name="'||variable_name||'" value="0" checked><td align="center">'
  270.     End
  271.  
  272.     If value(variable_name2) then do 
  273.         html=html||'ON <input type=radio name="'||variable_name2||'" value="1" checked>   OFF <input type=radio name="'||variable_name2||'" value="0">'
  274.     End
  275.     else do
  276.         html=html||'ON <input type=radio name="'||variable_name2||'" value="1">   OFF <input type=radio name="'||variable_name2||'" value="0" checked>'
  277.     End
  278.     return
  279.  
  280.  
  281. html_radial_single:
  282.     parse ARG text , variable_name
  283.  
  284.     html=html||'<tr><td>'text'<td align="center">'
  285.     If value(variable_name) then do
  286.         html=html||'ON <input type=radio name="'||variable_name||'" value="1" checked>   OFF <input type=radio name="'||variable_name||'" value="0">'
  287.     End
  288.     else do
  289.         html=html||'ON <input type=radio name="'||variable_name||'" value="1">   OFF <input type=radio name="'||variable_name||'" value="0" checked>'
  290.     End
  291.     return
  292.  
  293.  
  294. FindPath:
  295.     procedure
  296.  
  297.     parse ARG pathf
  298.     dir_pos = Max(lastpos('/', pathf), lastpos(':', pathf))
  299.     If dir_pos > 0    then
  300.         return(left(pathf,dir_pos))
  301.     else
  302.         return('')
  303.